/* eslint-disable no-sparse-arrays */
/*
 * @Description: Description
 * @Author: Kerwin
 * @Date: 2023-06-08 15:03:59
 * @LastEditTime: 2025-04-11 10:40:04
 * @LastEditors:  Please set LastEditors
 */

// 解析参数合并到url上
import { parseParams } from '@/utils/common'
// import * as jWeixin from 'weixin-js-sdk'
import jWeixin from 'weixin-js-sdk'
 

 
/**
 * 微信js-sdk配置
 */

// const emits = defineEmits(['sharedSuccess'])
export const jsSdkConfig = (data: {
  appId: any
  timestamp: any
  noncestr: any
  sign: any
}) => {
  console.log('微信鉴权信息====>', data)
  // jWeixin.config({
  //   debug: false,
  //   appId: 'wx2db45f7e4d994732',
  //   timestamp: 1741333100,
  //   nonceStr: 'Wm3WZYTPz0wzacny',
  //   signature: 'd473b14fb5869b8c2cad563c794ce3aba4a49af3',

  //   jsApiList: [
  //     'updateAppMessageShareData',
  //     'updateTimelineShareData',
  //   ]
  // })

 
    jWeixin.config({
      debug: false,
      appId: data.appId,
      timestamp: data.timestamp,
      nonceStr: data.noncestr,
      signature: data.sign,
      jsApiList: [
        'updateAppMessageShareData',
        'updateTimelineShareData',
        'startRecord',
        'stopRecord',
        'scanQRCode'
      ]
    });

  jWeixin.ready(() => {
    console.log('微信JS-SDK初始化成功288')
    // resolve(true);
  })

  jWeixin.error((res: any) => {
    console.error('微信JS-SDK初始化失败', res)
    // reject(res);
  })
}
/**
 * 微信js-sdk自定义“分享给朋友”及“分享到QQ”按钮的分享内容（1.4.0）
 */
export const updateAppMessageShareData = (data: {
  title: any
  desc: any
  link: any
  imgUrl: any
  id:any
},showImage: () => void) => {
  console.log('h5-Share==>', data)
  jWeixin.updateAppMessageShareData({
    title: data.title, // 分享标题
    desc: data.desc, // 分享描述
    // link: data.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    link:`${data.link}&type=1`, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    // link: 'http://192.168.169.133:5173/#/packageD/pages/demand/detail?id=558&shareId=123', // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: data.imgUrl, // 分享图标
   
   
    success() {
      // 设置成功
      //分享成功的弹窗
      // uni.showToast({
      //   title: '点击上面三个点分享到朋友',
      //   icon: 'success',
      //   duration: 5000
      // })
      showImage() // 调用显示图片的方法
      console.log('设置分享朋友成功')
    },
    cancel() {
      // 设置成功
      console.log('用户取消分享')
    },
    //失败
    fail() {
      console.log('分享到朋友设置分享失败')
    }
  })
}
/**
 * 微信js-sdk自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容（1.4.0）
 */
export const updateTimelineShareData = (data: {
  title: any
  desc: any
  link: any
  imgUrl: any
} ) => {
  console.log('朋友圈分享==>', data)

  jWeixin.updateTimelineShareData({
    title: data.title, // 分享标题
    desc: data.desc, // 分享描述
    // link: 'http://192.168.169.133:5173/#/packageD/pages/demand/detail?id=558', // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

    link:`${data.link}&type=2`, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
    imgUrl: data.imgUrl, // 分享图标
    success() {
      // 设置成功
      uni.showToast({
        title: '点击上面三个点分享到朋友圈',
        icon: 'success',
        duration: 5000
      })
  
      console.log('设置分享成功')
    },
    fail(res: any) {
      console.log('分享到朋友圈设置分享失败', res)
    }
  })
}
/**
 * 微信小程序分享路径格式化
 * @return{ path:string } 携带参数的完整路径
 */
export const sharePathFormat = (data: { [x: string]: any }) => {
  const pages = getCurrentPages()
  let redirect_url = `/${pages[pages.length - 1]?.route}`
  const shareCode = uni.getStorageSync('userInfo')?.shareCode
  if (data.redirect_url) {
    redirect_url = data.redirect_url
    delete data.redirect_url
  }
  return parseParams('/pages/launch/index', {
    redirect_url,
    shareCode,
    ...data
  })
}
/**
 * wechat web分享路径格式化
 * @return{ path:string } 携带参数的完整路径
 */
export const webSharePathFormat = (data: { [x: string]: any }) => {
  console.log(data, '视频路径')

  const pages = getCurrentPages()
  let redirect_url = `/${pages[pages.length - 1]?.route}`
  const shareCode = uni.getStorageSync('userInfo')?.shareCode
  if (data.redirect_url) {
    redirect_url = data.redirect_url
    delete data.redirect_url
  }
  // return  'http://192.168.169.133:5173/#/packageD/pages/demand/detail?id=558'

  return parseParams('https://wap.blacksilverscore.com/', {
    redirect_url,
    shareCode,
    ...data
  })
}





/**
 * H5环境下的二维码扫描
 */
export const scanQRCode = () => {
  jWeixin.scanQRCode({
    needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果
    scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码，默认二者都有
    success(res) {
      console.log('扫码成功:', res);
      const result = res.resultStr; // 当needResult 为 1 时，扫码返回的结果
      // 处理扫码结果
      console.log('扫码结果:', result);
      // 你可以在这里处理扫码结果，例如跳转到某个页面或显示结果
    },
    fail(err) {
      console.error('扫码失败:', err);
      // 处理扫码失败
    }
  });
}


export default {
  jsSdkConfig,
  updateAppMessageShareData,
  updateTimelineShareData,
  sharePathFormat,
  webSharePathFormat,
  scanQRCode
}
